package com.iflysse.services;

import com.iflysse.pojo.bo.CommonBoResp;
import com.iflysse.pojo.bo.req.*;
import com.iflysse.pojo.bo.resp.StudentInfoBoResp;
import com.iflysse.pojo.bo.resp.StudentListBoResp;
import com.iflysse.pojo.bo.resp.StudentPlainListBoResp;

import java.sql.SQLException;

public interface StudentService {
    /**
     *  老师端添加学生时选择其中一个行政班级，下面的学生列表
     *  根据行政班级获取学生
     * @param classBoReq
     * @return
     */
    StudentPlainListBoResp getStudentPlainListByClass(ClassBoReq classBoReq) throws SQLException;



    /**
     *  点击教学班级进来查看的教学班级学生的学生列表,
     *  老师端添加学生是,选择其中一个教学班级,显示下面学生列表
     *  根据教学班级获取学生信息
     * @param teachingClassIdBoReq
     * @return
     */
    StudentListBoResp getStudentListByTeacherClass(TeachingClassIdBoReq teachingClassIdBoReq) throws SQLException;


    /**
     * 根据学生编号获取学生信息
     * @param studentIdBoReq 学生编号
     * @return
     * @throws SQLException
     */
    StudentInfoBoResp getStudentInfoByStudentId(StudentIdBoReq studentIdBoReq) throws SQLException;

    /**
     * 更改学生头像
     * @param studentHeadImageBoReq
     * @return
     */
    CommonBoResp updateStudentHeadImage(StudentHeadImageBoReq studentHeadImageBoReq) throws SQLException;


    /**
     * 更新学生信息
     * @param studentBoReq 学生信息
     * @return
     */
    CommonBoResp updateStudentInfo(StudentBoReq studentBoReq) throws SQLException;

}
